// 输入一行字符，分别统计出其中英文字母、空格、数字和其它字符的个数
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
    // 键盘输入
    char str[50] = "";
    printf("请输入一行字符: ");
    fgets(str, sizeof(str), stdin);
    str[strlen(str)-1] = '\0';
    char *p = str;
    int chr = 0;    // 字符类型计数
    int spc = 0;    // 空格类型计数
    int num = 0;    // 数字类型计数
    int oth = 0;    // 其他类型计数
    for(; *p != '\0'; p++)
    {
        if((*p >= 'A' && *p <= 'Z') || (*p >= 'a' && *p <= 'z'))
        {
            chr++;
        }
        else if(*p == ' ')
        {
            spc++;
        }
        else if(*p >= '0' && *p <= '9')
        {
            num++;
        }
        else
        {
            oth++;
        }
    }
    printf("字符类型计数:%d\n", chr);
    printf("空格类型计数:%d\n", spc);
    printf("数字类型计数:%d\n", num);
    printf("其他类型计数:%d\n", oth);
    return 0;
}